Day 6 做完之後,Visual Learning Lab 終於不只是「讀 PDF 裡的文字」,而是真的可以看到公式、波形圖、向量圖和其他視覺內容。
但測到最後,我又發現一個很明顯的問題。
AI 已經看懂教材了,網站卻還是只會做一件事:
畫 Flow。
前幾天測 Sinusoids 時其實就很明顯。
GPT 自己在 Suggested Visualization 裡一直告訴我:
Concept Map
Comparison
Image / Diagram
結果下面還是:
Visual Flow
所以今天想解的問題不是「再把 Flow 畫漂亮一點」。
而是:
如果 AI 已經知道這份教材比較適合 Concept Map,為什麼網站不能真的畫 Concept Map?
前幾天的架構大概是這樣:
教材
↓
GPT 理解
↓
Suggested Visualization
↓
顯示「Concept Map、Flow、Comparison...」
但是
↓
網站永遠畫 Flow
這其實滿矛盾的。
所以 Day 7 我加了一個新的 Structured Output:
primary_visualization
裡面讓 AI 回傳:
type:
- flow
- concept_map
- none
reason:
為什麼選這種視覺化
也就是說,現在不只是問 GPT:
「你覺得這份教材適合什麼?」
而是真的讓它做決定。
目前先只做兩種:
有明確步驟、流程、轉換
→ Flow
以概念、屬性、關係為主
→ Concept Map
其他像 Timeline、Comparison、Analogy、3D 還沒有做。
我不想一次全部塞進來,先確認「AI 自己選 renderer」這件事情真的能工作。
Day 6 做 Visual Flow 時,我已經踩過一次坑。
那時候我原本直接把 Relationships 拿去畫圖,結果每一條關係都各畫各的,最後變成很多分散的小島。
所以這次我沒有再犯同樣的錯。
Concept Map 有自己獨立的資料:
concept_map
├─ suitable
├─ reason
├─ nodes
└─ edges
每個 node 還會分成:
central
primary
supporting
這樣 AI 可以先決定:
哪一個是整張 Concept Map 的核心?
再把其他重要概念往外連。
而不是把所有 Relationships 全部塞進去。
Relationships 還是保留。
但現在它的工作很單純:
把教材裡所有有意義的語意關係整理出來。
Concept Map 則負責:
挑出最值得拿來理解整份教材的概念結構。
今天第一個測試當然還是那份已經被我虐很多次的 Sinusoids。
因為它剛好很適合拿來驗證這個功能。
前幾天同樣一份 PDF,Visual Learning Lab 會硬畫成 Flow。
今天重新丟進去之後,第一次看到:

最中心的節點是:
正弦波
接著往外連到:
v(t) = Vₘ cos(ωt + θ)
相量、阻抗與導納
週期 T 與角頻率 ω
相位與相位差 θ、φ
三角恆等式與相位轉換
正弦分量合成
這張圖看起來就比以前硬塞成 Flow 合理很多。
因為 Sinusoids 這幾頁本來就不是在教:
第一步做什麼 → 第二步做什麼 → 第三步做什麼
而是在建立一堆彼此有關的概念。
所以 Concept Map 的目的不是排序,而是告訴我:
這些東西是怎麼連在一起的。
這也是我第一次覺得 Visual Learning Lab 開始真的有一點「根據教材選擇表達方式」的感覺。
如果我只測 Sinusoids,還不能證明 AI 真的會選。
也有可能今天只是改完之後,所有東西都開始畫 Concept Map。
所以第二份我重新丟了 Laplace Transform。
這份教材前幾天已經證明它有一個很自然的解題流程。
結果這次 AI 沒有選 Concept Map。
它還是選了:

而且主線很清楚:
Given ODE / initial value problem
↓
Apply Laplace transform
↓
Transform into an algebraic equation
↓
Solve by algebraic manipulation
↓
Apply inverse transform
↓
Obtain the solution
所以今天真正讓我滿意的其實不是 Concept Map 本身。
而是同一套程式,面對兩種不同內容時,真的做出了不同選擇:
Sinusoids
→ Concept Map
Laplace Transform
→ Visual Flow
做到 Day 7,我覺得 Visual Learning Lab 的方向開始慢慢跟最一開始不太一樣了。
一開始我想的是:
把教材丟進去,AI 幫我畫圖。
但現在比較像:
教材
↓
AI 理解內容
↓
判斷內容的結構
↓
選擇視覺化方式
↓
產生對應的視覺化
這中間差了一步:
判斷。
如果教材是步驟,就用 Flow。
如果教材是概念網路,就用 Concept Map。
以後如果做 Comparison、Timeline、Image Breakdown、甚至 3D,也應該照同樣的方式。
不是:
「我今天新做了一個 Timeline,所以不管什麼教材都拿來畫 Timeline。」
而是:
「這份教材本身適不適合 Timeline?」
這應該才比較接近我想做的產品。
目前第一版 Concept Map 還是用 Graphviz。
功能上可以工作,但版面還有很多可以改善的地方。
像 Sinusoids 這張圖現在比較偏橫向,整張拉得很寬,有些節點的字也稍微偏小。
【圖片 4:Concept Map 完整畫面,可以看出目前偏橫向的版型】
但我今天先不處理。
因為目前真正重要的是:
Concept Map 可以生成 ✓
Flow 可以生成 ✓
AI 可以在兩者之間做選擇 ✓
至於節點拖曳、點擊展開、縮放、互動,甚至未來不用 Graphviz,都是之後可以再處理的事情。
這幾天回頭看其實滿有趣。
Day 4:
Relationships
↓
全部畫成 Flow
Day 6:
Relationships
≠
Visual Flow
Flow 有自己的結構
Day 7:
教材
↓
AI 判斷
├─ Flow
└─ Concept Map
所以今天新增的表面上只是 Concept Map。
但我覺得真正重要的是底層邏輯開始改了。
Visual Learning Lab 不再只是:
「把 AI 回答畫出來。」
而是開始嘗試:
先理解教材的結構,再決定它應該被怎麼看。
目前只有兩種選擇。
但至少今天第一次不是所有教材都長一樣了。
GitHub Repo:
https://github.com/f24131128-lgtm/visual-learning-lab